package com.ly.heart.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * BOM清单子项明细对象 erp_king_bom_detail_info
 *
 * @author wutao
 * @date 2024-07-26
 */
@TableName ( "erp_king_bom_detail_info" )
@ApiModel ( value = "erp_king_bom_detail_info对象", description = "BOM清单子项明细" )
@Data
public class KingBomDetailEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId ( value = "id", type = IdType.INPUT )
    private String id;

    /**
     * BOM清单Id
     */
    @ApiModelProperty ( "BOM清单Id" )
    @TableField ( "bom_id" )
    @Excel ( name = "BOM清单Id" )
    private String bomId;

    @ApiModelProperty ( "项次" )
    @TableField ( "item_order" )
    @Excel ( name = "项次" )
    private String itemOrder;

    /**
     * 子项物料编码
     */
    @ApiModelProperty ( "子项物料编码" )
    @TableField ( "child_material_code" )
    @Excel ( name = "子项物料编码" )
    private String childMaterialCode;

    /**
     * 子项物料名称
     */
    @ApiModelProperty ( "子项物料名称" )
    @TableField ( "child_material_name" )
    @Excel ( name = "子项物料名称" )
    private String childMaterialName;

    /**
     * 供应类;采购；自制；委外
     */
    @ApiModelProperty ( "供应类型;\n" +
            "C：采购；\n" +
            "Z：自制；\n" +
            "W：委外" )
    @TableField ( "supply_type" )
    @Excel ( name = "供应类" )
    private String supplyType;

    /**
     * 子项类型;标准件;返还件;替代件
     */
    @ApiModelProperty ( "子项类型;\n" +
            "1：标准件;\n" +
            "2：返还件;\n" +
            "3：替代件" )
    @TableField ( "child_type" )
    @Excel ( name = "子项类型;标准件;返还件;替代件" )
    private String childType;

    /**
     * 子项单位编码
     */
    @ApiModelProperty ( "子项单位编码" )
    @TableField ( "child_unit_code" )
    @Excel ( name = "子项单位编码" )
    private String childUnitCode;

    /**
     * 用量类型;固定;变动;阶梯
     */
    @ApiModelProperty ( "用量类型;\n" +
            "1：固定;\n" +
            "2：变动:\n" +
            "3：阶梯" )
    @TableField ( "usage_type" )
    @Excel ( name = "用量类型;固定;变动;阶梯" )
    private String usageType;

    /**
     * 用量分子
     */
    @ApiModelProperty ( "用量分子" )
    @TableField ( "usage_numerator" )
    @Excel ( name = "用量分子" )
    private String usageNumerator;

    /**
     * 用量分母
     */
    @ApiModelProperty ( "用量分母" )
    @TableField ( "usage_denominator" )
    @Excel ( name = "用量分母" )
    private String usageDenominator;

    /**
     * 固定损耗
     */
    @ApiModelProperty ( "固定损耗" )
    @TableField ( "fixed_loss" )
    @Excel ( name = "固定损耗" )
    private String fixedLoss;

    /**
     * 变动损耗率
     */
    @ApiModelProperty ( "变动损耗率" )
    @TableField ( "var_loss_rate" )
    @Excel ( name = "变动损耗率" )
    private String varLossRate;

    /**
     * 供应组织编码
     */
    @ApiModelProperty ( "供应组织编码" )
    @TableField ( "supply_dept_code" )
    @Excel ( name = "供应组织编码" )
    private String supplyDeptCode;

    /**
     * 子项BOM版本
     */
    @ApiModelProperty ( "子项BOM版本" )
    @TableField ( "child_bom_version" )
    @Excel ( name = "子项BOM版本" )
    private String childBomVersion;

    /**
     * 备注
     */
    @ApiModelProperty ( "备注" )
    @TableField ( "remarks" )
    @Excel ( name = "备注" )
    private String remarks;

    /**
     * 发料组织编码
     */
    @ApiModelProperty ( "发料组织编码" )
    @TableField ( "send_dept_code" )
    @Excel ( name = "发料组织编码" )
    private String sendDeptCode;

    /**
     * 默认发料仓库编码
     */
    @ApiModelProperty ( "默认发料仓库编码" )
    @TableField ( "send_warehouse_code" )
    @Excel ( name = "默认发料仓库编码" )
    private String sendWarehouseCode;

    @ApiModelProperty ( "跳层；1：是；2：否" )
    @TableField ( "jumper" )
    @Excel ( name = "跳层" )
    private String jumper;

    @ApiModelProperty ( "存在多个替代方案；1：是；2：否" )
    @TableField ( "is_alternative" )
    @Excel ( name = "存在多个替代方案" )
    private String isAlternative;

    @ApiModelProperty ( "生效日期" )
    @TableField ( "effective_date" )
    @Excel ( name = "生效日期" )
    private Date effectiveDate;

    @ApiModelProperty ( "失效日期" )
    @TableField ( "expiring_date" )
    @Excel ( name = "失效日期" )
    private Date expiringDate;

    @ApiModelProperty ( "发料方式" )
    @TableField ( "send_material_type" )
    @Excel ( name = "发料方式" )
    private String sendMaterialType;

    @ApiModelProperty ( "净需求比例" )
    @TableField ( "demand_ratio" )
    @Excel ( name = "净需求比例" )
    private String demandRatio;

    @ApiModelProperty ("创建人")
    @TableField ("create_by")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @TableField ("create_time")
    private Date createTime;

    @ApiModelProperty ("修改人")
    @TableField ("update_by")
    private String updateBy;

    @ApiModelProperty ("修改时间")
    @TableField ("update_time")
    private Date updateTime;


    /**
     * 是否可用
     */
    @ApiModelProperty ( "是否可用" )
    @TableField ( "is_used" )
    @Excel ( name = "是否可用" )
    private Integer isUsed;


}
